package com.ruoyi.asms.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ruoyi.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 故障处理结果确认信息对象 asms_fault_confirm_stage
 *
 * @author yfkj
 * @date 2021-10-21
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AsmsFaultConfirmStage
{
    private static final long serialVersionUID = 1L;

    /** 故障处理结果确认信息主键 */
    @TableField(exist = true)
    @TableId(type= IdType.AUTO)
    @ApiModelProperty(value =  "${comment}")
    private Long faultConfirmStageId;

    /** 故障外键 */
    @Excel(name = "故障外键")
    @TableField(exist = true)
    @ApiModelProperty(value =  "故障外键")
    private Long faultAssetId;

    /** 开始时间 */
    @Excel(name = "开始时间")
    @TableField(exist = true)
    @ApiModelProperty(value =  "开始时间")
    private Long startTime;

    /** 结束时间 */
    @Excel(name = "结束时间")
    @TableField(exist = true)
    @ApiModelProperty(value =  "结束时间")
    private Long endTime;

    /** 状态(-1超时未确认支付，0正在确认或支付中，1已确认或支付，2超时自动确认) */
    @Excel(name = "状态(-1超时未确认支付，0正在确认或支付中，1已确认或支付，2超时自动确认)")
    @TableField(exist = true)
    @ApiModelProperty(value =  "状态(-1超时未确认支付，0正在确认或支付中，1已确认或支付，2超时自动确认)")
    private Integer status;

    /** 支付人 */
    @Excel(name = "支付人")
    @TableField(exist = true)
    @ApiModelProperty(value =  "支付人")
    private Long payUserId;

    /** 支付方式(1、线上支付，2线下支付) */
    @Excel(name = "支付方式(1、线上支付，2线下支付)")
    @TableField(exist = true)
    @ApiModelProperty(value =  "支付方式(1、线上支付，2线下支付)")
    private String payType;

    /** 服务效率分 */
    @Excel(name = "服务效率分")
    @TableField(exist = true)
    @ApiModelProperty(value =  "服务效率分")
    private Integer efficiencyScore;

    /** 服务态度分 */
    @Excel(name = "服务态度分")
    @TableField(exist = true)
    @ApiModelProperty(value =  "服务态度分")
    private Integer attitudeScore;

    /** 服务结果分 */
    @Excel(name = "服务结果分")
    @TableField(exist = true)
    @ApiModelProperty(value =  "服务结果分")
    private Integer qualityScore;

    /** 评价内容 */
    @Excel(name = "评价内容")
    @TableField(exist = true)
    @ApiModelProperty(value =  "评价内容")
    private String evaluationContent;

    @TableField(exist = false)
    @ApiModelProperty(value =  "评价人ID")
    private Long confirmUserId;

    public static final String FAULT_CONFIRM_STAGE_ID="fault_confirm_stage_id";
    public static final String FAULT_ASSET_ID="fault_asset_id";
    public static final String START_TIME="start_time";
    public static final String END_TIME="end_time";
    public static final String STATUS="status";
    public static final String PAY_USER_ID="pay_user_id";
    public static final String PAY_TYPE="pay_type";
    public static final String EFFICIENCY_SCORE="efficiency_score";
    public static final String ATTITUDE_SCORE="attitude_score";
    public static final String QUALITY_SCORE="quality_score";
    public static final String EVALUATION_CONTENT="evaluation_content";

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("faultConfirmStageId", getFaultConfirmStageId())

                .append("startTime", getStartTime())
                .append("endTime", getEndTime())
                .append("status", getStatus())
                .append("payUserId", getPayUserId())
                .append("payType", getPayType())
                .append("efficiencyScore", getEfficiencyScore())
                .append("attitudeScore", getAttitudeScore())
                .append("qualityScore", getQualityScore())
                .append("evaluationContent", getEvaluationContent())
                .toString();
    }
}
